July 27, 2020
Server
혹은 DB
에게 resource
를 보내달라고 요청하는 것.resource
는 Client
에게 전달만 될 뿐 변경되지 않는다.Browser
주소창에 주소를 입력하면 이 신호는 항상 get
으로 요청된다.read
Server
혹은 DB
에게 resource
를 보내면서 생성해 달라고 요청하는 것
create
Server
혹은 DB
에게 resource
의 업데이트를 하거나 resource
가 없다면 새로운 resource
를 생성해 달라고 요청하는 것update
Server
혹은 DB
에게 resource
의 업데이트를 요청한다.💡PUT vs PATCH
PUT
PATCH
Server
혹은 DB
에게 resource
의 삭제를 요청한다.delete
REST URL
이 들어오면 URLconf
에 사전 정의된 규칙에 의해 Django에서 함수를 호출한다.
django
에서는 URLconf
를 urls.py
에서 관리한다.
Model
View
Controller
MVC
를 Django
에서는 MVT
라고 한다.MVT
는 MVC
와 각각 다음과 같이 매칭된다.
request
를 보내면 Django에서 해당 REST URL을 URLconf(urls.py)
에서 사전 정의된 함수가 있는지 확인하는 과정URL
이 없다면 Status Code : 404
를 반환한다.URLconf(urls.py)
와 매칭되는 VIew(views.py)
함수를 실행한다.사용자에게서 받은 request
를 확인하고 만약, 데이터베이스에서 해당 요청을 처리해야 할 경우 데이터 관리를 하는 Model(models.py)
에게 해당 요청을 처리할 것을 지시한다.
Template
에서 적절한 페이지를 찾아 response
해준다.Client
요청에 따른 Application
실행 결과를 Template
혹은 Error msg
등을 이용해서 다시 Client
에게 response
해준다.View(views.py)
에서 받은 요청을 Database
에서 처리하여 그 결과를 다시 View(views.py)
에게 전달해준다.
💡대표적인 Database
처리
ORM (Object Relational Mapping)
를 사용한다.Class
를 이용하여 맵핑한다.💡ORM?
class
)를 자유롭게 정의하여 데이터베이스를 개발할 수 있는 데이터베이스 관리 시스템Model Calss
를 통해서 객체를 만들고 이 객체를 통해서 DB
에 접근하도록 도와준다.
Model(models.py)
에서 처리된 결과를 Template에 전달하여 적절한 페이지 (html
)를 찾는다.html
파일과 Database
에서 처리된 결과를 조합하여 페이지를 사용자에게 전달한다.